import pandas as pd

# 读取Excel文件
df = pd.read_excel('data2(800ture_label).xlsx')

# 提取'text_list'列中的文本，按逗号分隔，并去除两边的单引号
# 使用apply()方法和lambda函数处理每个条目
df2 =pd.read_excel('train_data.xlsx',header=None)


unique_texts = df2.iloc[0]
unique_texts = unique_texts.drop(0)
# 删除label列
last_index = unique_texts.index[-1]
unique_texts = unique_texts.drop(last_index)


# 创建一个新的DataFrame，每个不同的文本一列，初始值为0
new_df = pd.DataFrame(0, index=df.index, columns=unique_texts)

# 填充数据，对于每个文本，检查其在原始列表中是否存在
for text in unique_texts:
    # 使用apply()和lambda函数来检查每个单元格中的文本列表是否包含当前的text
    new_df[text] = df['text_list'].apply(lambda x: 1 if text in [item.strip().strip("'") for item in x.split(',') if item.strip()] else 0)


# 保存到Excel文件
new_df.to_excel('data.xlsx', index=False)
